package com.bub.pay.framework.common.util.decimal;

import lombok.extern.slf4j.Slf4j;

import java.math.BigDecimal;

@Slf4j
public class BigDecimalUtils {

    private BigDecimalUtils() {
    }

    public static BigDecimalLogic is(BigDecimal value) {
        return new BigDecimalLogic(value);
    }

    public static BigDecimalLogic is(String value) {
        return new BigDecimalLogic(value);
    }

    public static BigDecimalCalculation cal(BigDecimal value) {
        return new BigDecimalCalculation(value);
    }

    public static BigDecimalCalculation cal(String value) {
        return new BigDecimalCalculation(new BigDecimal(value));
    }

    /**
     * 判断是否有小数位
     *
     * @param bigDecimal 小数位
     * @return 是否有小数位
     */
    public static boolean haveDecimalPlaces(BigDecimal bigDecimal) {
        int result = new BigDecimal(bigDecimal.longValue()).compareTo(bigDecimal);
        return result != 0;
    }

    /**
     * 构建
     * String 2 BigDecimal
     * 自动去除,号
     * @param amount 金额
     * @return 金额
     */
    public static BigDecimal build(String amount){
        amount = amount.replace(",","");
        return new BigDecimal(amount);
    }
}
